package cn.sciento.starter.tenant.custom.endpoint;

import java.io.Serializable;
import java.util.StringJoiner;

public class CustomPointDTO implements Serializable {
  private static final long serialVersionUID = -5437012133006810789L;
  
  private String customCode;
  
  private String pointCode;
  
  private String description;
  
  private String className;
  
  private String methodName;
  
  private String serviceName;
  
  public String getCustomPointCode() {
    return this.serviceName + "." + this.customCode + "." + this.pointCode;
  }
  
  public String getCustomCode() {
    return this.customCode;
  }
  
  public CustomPointDTO setCustomCode(String customCode) {
    this.customCode = customCode;
    return this;
  }
  
  public String getPointCode() {
    return this.pointCode;
  }
  
  public CustomPointDTO setPointCode(String pointCode) {
    this.pointCode = pointCode;
    return this;
  }
  
  public String getDescription() {
    return this.description;
  }
  
  public CustomPointDTO setDescription(String description) {
    this.description = description;
    return this;
  }
  
  public String getClassName() {
    return this.className;
  }
  
  public CustomPointDTO setClassName(String className) {
    this.className = className;
    return this;
  }
  
  public String getMethodName() {
    return this.methodName;
  }
  
  public CustomPointDTO setMethodName(String methodName) {
    this.methodName = methodName;
    return this;
  }
  
  public String getServiceName() {
    return this.serviceName;
  }
  
  public CustomPointDTO setServiceName(String serviceName) {
    this.serviceName = serviceName;
    return this;
  }
  
  public String toString() {
    return (new StringJoiner(", ", CustomPointDTO.class.getSimpleName() + "[", "]"))
      .add("customCode='" + this.customCode + "'")
      .add("pointCode='" + this.pointCode + "'")
      .add("description='" + this.description + "'")
      .add("className='" + this.className + "'")
      .add("methodName='" + this.methodName + "'")
      .add("serviceName='" + this.serviceName + "'")
      .toString();
  }
}
